package com.smartcampusbackend.service;

import com.smartcampusbackend.model.LeaveApplication;
import java.util.List;
import java.util.Map;
import java.time.LocalDateTime;

public interface LeaveApplicationService {
    // 学生提交请假申请
    boolean submitLeaveApplication(LeaveApplication application);
    // 教师审批请假申请
    boolean approveLeaveApplication(Long applicationId, boolean approved, String rejectReason);
    // 获取学生的请假申请记录
    List<LeaveApplication> listStudentLeaveApplications(Long studentId);
    // 获取教师课程的请假申请
    List<Map<String, Object>> listLeaveApplicationsForTeacher(String teacherId);
    // 获取所有请假申请（管理员用）
    List<Map<String, Object>> listAllLeaveApplications();
    // 检查请假时长是否超过3天
    boolean isLongTermLeave(LocalDateTime startDate, LocalDateTime endDate);
} 